package com.ruoyi.system.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 课节视频对象 course_media
 * 
 * @author ruoyi
 * @date 2025-05-20
 */
public class CourseMedia extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 课程媒体主键ID */
    private Long id;

    /** 课程Id */
    @Excel(name = "课程Id")
    private Long courseId;

    /** 章ID */
    @Excel(name = "章ID")
    private Long sectionId;

    /** 课时ID */
    @Excel(name = "课时ID")
    private Long lessonId;

    /** 封面图URL */
    @Excel(name = "封面图URL")
    private String coverImageUrl;

    /** 时长（06:02） */
    @Excel(name = "时长", readConverterExp = "0=6:02")
    private String duration;

    /** 媒体资源文件对应的EDK */
    @Excel(name = "媒体资源文件对应的EDK")
    private String fileEdk;

    /** 文件大小MB */
    @Excel(name = "文件大小MB")
    private BigDecimal fileSize;

    /** 文件名称 */
    @Excel(name = "文件名称")
    private String fileName;

    /** 媒体资源文件对应的DK */
    @Excel(name = "媒体资源文件对应的DK")
    private String fileDk;

    /** 是否删除，0未删除，1删除 */
    @Excel(name = "是否删除，0未删除，1删除")
    private Integer isDel;

    /** 时长，秒数（主要用于音频在H5控件中使用） */
    @Excel(name = "时长，秒数", readConverterExp = "主=要用于音频在H5控件中使用")
    private Long durationNum;

    /** 媒体资源文件ID */
    @Excel(name = "媒体资源文件ID")
    private String fileId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setCourseId(Long courseId) 
    {
        this.courseId = courseId;
    }

    public Long getCourseId() 
    {
        return courseId;
    }

    public void setSectionId(Long sectionId) 
    {
        this.sectionId = sectionId;
    }

    public Long getSectionId() 
    {
        return sectionId;
    }

    public void setLessonId(Long lessonId) 
    {
        this.lessonId = lessonId;
    }

    public Long getLessonId() 
    {
        return lessonId;
    }

    public void setCoverImageUrl(String coverImageUrl) 
    {
        this.coverImageUrl = coverImageUrl;
    }

    public String getCoverImageUrl() 
    {
        return coverImageUrl;
    }

    public void setDuration(String duration) 
    {
        this.duration = duration;
    }

    public String getDuration() 
    {
        return duration;
    }

    public void setFileEdk(String fileEdk) 
    {
        this.fileEdk = fileEdk;
    }

    public String getFileEdk() 
    {
        return fileEdk;
    }

    public void setFileSize(BigDecimal fileSize) 
    {
        this.fileSize = fileSize;
    }

    public BigDecimal getFileSize() 
    {
        return fileSize;
    }

    public void setFileName(String fileName) 
    {
        this.fileName = fileName;
    }

    public String getFileName() 
    {
        return fileName;
    }

    public void setFileDk(String fileDk) 
    {
        this.fileDk = fileDk;
    }

    public String getFileDk() 
    {
        return fileDk;
    }

    public void setIsDel(Integer isDel) 
    {
        this.isDel = isDel;
    }

    public Integer getIsDel() 
    {
        return isDel;
    }

    public void setDurationNum(Long durationNum) 
    {
        this.durationNum = durationNum;
    }

    public Long getDurationNum() 
    {
        return durationNum;
    }

    public void setFileId(String fileId) 
    {
        this.fileId = fileId;
    }

    public String getFileId() 
    {
        return fileId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("courseId", getCourseId())
            .append("sectionId", getSectionId())
            .append("lessonId", getLessonId())
            .append("coverImageUrl", getCoverImageUrl())
            .append("duration", getDuration())
            .append("fileEdk", getFileEdk())
            .append("fileSize", getFileSize())
            .append("fileName", getFileName())
            .append("fileDk", getFileDk())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("isDel", getIsDel())
            .append("durationNum", getDurationNum())
            .append("fileId", getFileId())
            .toString();
    }
}
